# -*- coding:utf-8 -*-
"""
Created on 30.01.2010

@author: r4smus
"""

import sys


def compareWords((word1, num1), (word2, num2) ):
    if num1 < num2:
        return 1
    elif num1 > num2:
        return -1
    else:
        if word1 < word2:
            return -1
        elif word1 > word2:
            return 1
    
    
#speichere die als parameter uebergebene Textfile in file ab.
file = file(sys.argv[1]) 

#in string umwandeln
text = ''
for zeile in file:
    text += zeile


#alles in kleinbuchstaben
text = text.lower()

#umlaute ersetzten
for (umlautAlt, umlautNeu) in [('ä','ae'),('ö','oe'),('ü','ue')]:
    text = text.replace(umlautAlt, umlautNeu)

#sonderzeichen entfernen        
for sonderZeichen in '!§$%,&/()=?#_@*+.{[]};:<>0123456789':
    text = text.replace(sonderZeichen, '')

#woerter einem woerterbuch hinzufuegen (mit hilfe eines dictionarys) 
text = text.split()
woerterBuch = {}
for wort in text:
    if wort not in woerterBuch:
        woerterBuch[wort] = 1
    else:
        woerterBuch[wort] +=  1

#dictionary in liste umwandeln       
woerterBuch = woerterBuch.items()

#liste sortieren
woerterBuch.sort(compareWords)

#formatierte ausgabe in der konsole
for (wort, anzahl) in woerterBuch[:5]:
    numberOfSpaces = 20 - len(wort) - len(str(anzahl))
    space = " " * numberOfSpaces
    print wort +space +str(anzahl)



           
        



